package com.dingyx.ps.model.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

/**
 * @description 灵活用工任务表
 * @author zhangyang@zencor.cn
 * @date 2021-03-04
 */
@Data
@ApiModel
public class TaskMasterVO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 任务id（主键）
     */
    @ApiModelProperty("任务id")
    private Long id;

    /**
     * 任务名称
     */
    @ApiModelProperty("任务名称")
    private String taskName;

    /**
     * 用工企业id
     */
    @ApiModelProperty("用工企业id")
    private Integer enterpriseId;

    /**
     * 用工企业名称
     */
    @ApiModelProperty("用工企业名称")
    private String enterpriseName;

    /**
     * 任务状态（0:审核中，1:已驳回，2:进行中，3:待验收，4:已完成，5:已作废，6:已拒绝）
     */
    @ApiModelProperty("任务状态（0:审核中，1:已驳回，2:进行中，3:待验收，4:已完成，5:已作废，6:已拒绝）")
    private Integer taskStatus;
    /**
     * 支付状态（0：已支付 1：未支付）
     */
    @ApiModelProperty("支付状态（0:已支付 1：确认已支付 2:已支付待确认）")
    private Integer payStatus;

    /**
     * 任务类型（0:指派任务）
     */
    @ApiModelProperty("任务类型（0:指派任务）")
    private Integer taskType;

    /**
     * 任务佣金（单价）
     */
    @ApiModelProperty("任务佣金（单价）")
    private BigDecimal taskUnitPrice;

    /**
     * 任务佣金（总）
     */
    @ApiModelProperty("任务佣金（总）")
    private BigDecimal taskSumPrice;
    /**
     * 服务费
     */
    @ApiModelProperty("服务费")
    private BigDecimal serviceCharge;
    /**
     * 任务说明
     */
    @ApiModelProperty("任务说明")
    private String taskDesc;

    /**
     * 验收说明
     */
    @ApiModelProperty("验收说明")
    private String acceptDesc;

    /**
     * 审核说明
     */
    @ApiModelProperty("审核说明")
    private String examineDesc;

    /**
     * 指派人数
     */
    @ApiModelProperty("指派人数")
    private Integer appointNumber;

    /**
     * 发布时间
     */
    @ApiModelProperty("发布时间")
    private LocalDateTime publishDate;

    /**
     * 服务类目
     */
    @ApiModelProperty("服务类目")
    private String serviceCategory;

    /**
     * 服务开票类目
     */
    @ApiModelProperty("服务开票类目")
    private String billingCategory;

    /**
     * 任务佣金开票类目
     */
    @ApiModelProperty("任务佣金开票类目")
    private String taskBillingCategory;

    /**
     * 关联任务名称
     */
    @ApiModelProperty("关联任务名称")
    private String relationTask;

    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    private LocalDateTime createDate;

    /**
     * 子任务集合
     */
    @ApiModelProperty("子任务集合")
    private List<TaskSlaverVO> taskSlaverList;

    @ApiModelProperty("子任务是否已全部完成")
    private Boolean totalCompleted = Boolean.FALSE;

    @ApiModelProperty("工程师id集合")
    private List<Integer> engineerIdList;

    @ApiModelProperty("任务来源")
    private String source;

    @ApiModelProperty("全部验收完成时间")
    private LocalDateTime checkedCompleteDate;

    /**
     * @Description结算佣金（总）
     * @Author  zhangyiming
     * @Date   2021/4/7 15:21
     * @Param
     * @Return
     * @Exception
     */
    @ApiModelProperty("结算佣金（总）")
    private BigDecimal taskAllPrice;
}

